/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dswII.biblioteca.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dswII.biblioteca.dao.UsuarioDaoLocal;
import mx.its.dswII.biblioteca.enumeracion.EstadoTransaccion;
import mx.its.dswII.biblioteca.modelo.Usuario;

/**
 *
 * @usuario Lenovo-user
 */
@Stateless
public class UsuarioBl implements UsuarioBlLocal {
    @EJB
    private UsuarioDaoLocal usuarioDao;
    
    

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public EstadoTransaccion register(Usuario usuario) {
         if (usuarioDao.findDuplicity(usuario)|| usuario.getId()==null) {
            //no se pudo hacer
            return EstadoTransaccion.INCOMPLETO;
        } else {
           usuarioDao.create(usuario);
            // ya lo hizo
            return EstadoTransaccion.COMPLETO;

        }
    }

    @Override
    public EstadoTransaccion modify(Usuario usuario) {
        if (usuario.getId() == null || usuarioDao.find(usuario.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            usuarioDao.edit(usuario);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public EstadoTransaccion remove(Usuario usuario) {
         if (usuarioDao.find(usuario.getId()) == null || usuario.getId() == null) {

            return EstadoTransaccion.INCOMPLETO;
        } else {
            usuarioDao.remove(usuario);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public List<Usuario> getAll() {
        return usuarioDao.findAll();
    }
    

}
